fix(ENG-9886): deprecated false positive #859
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Fix ENG-9886.
Execution
useDeprecated
is a hook I added a while ago to easily log deprecated warnings once, and handle edge cases such as preventing multiple warnings during SSR & CI environment. I added code comments to explain its parameters.The issue was the
guard
has a default value oftrue
. So if you passundefined
, instead of usingundefined
it will switch totrue
. This is counter intuitive and a sign this hook needs to be refactored.I like the guard having a truthy default, because you can simply write
useDeprecated(<message>)
with no guard. Maybe we need to split it into two functions?